package co.com.travelsoft.dao.interfaces.maestras;

import java.util.List;

import co.com.travelsoft.entities.maestras.Cliente;
import co.com.travelsoft.util.exceptions.TsDAOException;
import co.com.travelsoft.util.exceptions.TsObjetNotFoundException;



/**
 * Define los servicios para la entidad {@link Cliente}
 * @author Juan Carlos Cardona
 * @since  23/04/2014
 * @version 1.0
 */
public interface ClienteDAOInterface {


    /**
     * Retorna la lista de todos los {@link Cliente} del sistema
     * @return {@link List} lista de paises
     * @throws TsDAOException
     */
    public List<Cliente> getClientesList() throws TsDAOException;


    /**
     * Consulta un {@link Cliente} por el atributo identificacion
     * @param codigo
     * @return {@link Cliente}
     * @throws TsObjetNotFoundException
     * @throws TsDAOException 
     */
    public Cliente findById(String identificacion) throws TsObjetNotFoundException, TsDAOException;

    /**
     * metodo que guarda un cliente en el sistema
     * @param cliente
     */
    void save(Cliente cliente) throws TsDAOException;

}
